home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / SURefItr.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  4.4 KB  |  174 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:SURefItr.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Constants
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODStorageUnitRefIterator_xh
  18. #define SOM_ODStorageUnitRefIterator_xh
  19.  
  20. class ODStorageUnitRefIterator;
  21.  
  22. #define ODStorageUnitRefIterator_MajorVersion 0
  23. #define ODStorageUnitRefIterator_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODObject_xh
  30. #include <ODObject.xh>
  31. #endif
  32.  
  33. #ifndef ODStorageUnitRefIterator_API
  34. #define ODStorageUnitRefIterator_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODStorageUnitCursor;
  44. class ODSession;
  45. class ODPart;
  46. class ODStorageUnitView;
  47. class ODDraft;
  48.  
  49. /*
  50.  * End of user-defined types.
  51.  */
  52.  
  53. #if applec ^ PRAGMA_LIB_EXPORT
  54. #pragma lib_export on
  55. #endif
  56.  
  57.  
  58. /* A procedure to create the ODStorageUnitRefIterator Class */
  59. SOMEXTERN SOMClass * SOMLINK ODStorageUnitRefIteratorNewClass(
  60.         integer4 majorVersion,
  61.         integer4 minorVersion);
  62.  
  63. /* The API to the ODStorageUnitRefIterator class object, and the methods it introduces. */
  64. typedef struct ODStorageUnitRefIteratorClassDataStructure {
  65.     SOMClass *classObject;
  66.     somMToken InitStorageUnitRefIterator;
  67.     somMToken First;
  68.     somMToken Next;
  69.     somMToken IsNotComplete;
  70. } ODStorageUnitRefIteratorClassDataStructure;
  71. #ifdef SOM_NO_DATA_EXPORTS
  72.    SOMEXTERN ODStorageUnitRefIteratorClassDataStructure * ODStorageUnitRefIteratorGetClassData ( void );
  73. #   undef ODStorageUnitRefIteratorClassData
  74. #   define ODStorageUnitRefIteratorClassData (*ODStorageUnitRefIteratorGetClassData())
  75. #else
  76.    SOMEXTERN ODStorageUnitRefIteratorClassDataStructure ODStorageUnitRefIteratorClassData;
  77. #endif /* SOM_NO_DATA_EXPORTS */
  78.  
  79. #if applec ^ PRAGMA_LIB_EXPORT
  80. #pragma lib_export off
  81. #endif
  82.  
  83. #define _ODStorageUnitRefIterator ODStorageUnitRefIteratorClassData.classObject
  84.  
  85. /* The API to parentMtabs for ODStorageUnitRefIterator, and the instance data it introduces. */
  86. SOMEXTERN struct ODStorageUnitRefIteratorCClassDataStructure {
  87.     somMethodTabs parentMtab;
  88.     somDToken instanceDataToken;
  89. } ODStorageUnitRefIteratorCClassData;
  90.  
  91. /*
  92.  * -- Typedefs for Procedures that support Methods introduced by ODStorageUnitRefIterator
  93.  */
  94. SOMEXTERN {
  95. typedef void   (* SOMLINK somTD_ODStorageUnitRefIterator_InitStorageUnitRefIterator)(ODStorageUnitRefIterator *somSelf, Environment *ev,
  96.         ODStorageUnit* storageUnit);
  97. typedef ODStorageUnitRef   (* SOMLINK somTD_ODStorageUnitRefIterator_First)(ODStorageUnitRefIterator *somSelf, Environment *ev);
  98. typedef ODStorageUnitRef   (* SOMLINK somTD_ODStorageUnitRefIterator_Next)(ODStorageUnitRefIterator *somSelf, Environment *ev);
  99. typedef ODBoolean   (* SOMLINK somTD_ODStorageUnitRefIterator_IsNotComplete)(ODStorageUnitRefIterator *somSelf, Environment *ev);
  100. }
  101.  
  102. #endif /* ODStorageUnitRefIterator_API */
  103.  
  104.  
  105. /*
  106.  * -- Method Tokens are Thunks
  107.  */
  108. #undef somresolve_
  109. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  110.  
  111. /*
  112.  * -- The C++ Wrapper Class for ODStorageUnitRefIterator
  113.  */
  114. class ODStorageUnitRefIterator : public ODObject
  115. {
  116. public:
  117.  
  118. void *operator new(size_t size)
  119. {
  120.    SOM_IgnoreWarning(size);
  121.    if (!ODStorageUnitRefIteratorClassData.classObject) 
  122.       ODStorageUnitRefIteratorNewClass(ODStorageUnitRefIterator_MajorVersion,ODStorageUnitRefIterator_MinorVersion);
  123.    return (void *)
  124.       ((somTD_SOMClass_somNew)
  125.       somresolve_((SOMObject *)((void*)(ODStorageUnitRefIteratorClassData.classObject)),
  126.                  SOMClassClassData.somNew))
  127.          ((SOMClass *)((void*)(ODStorageUnitRefIteratorClassData.classObject)));
  128. }
  129.  
  130. void operator delete(void * obj)
  131. {
  132.    ((SOMObject *)obj)->somFree();
  133. }
  134.  
  135. /* public method: InitStorageUnitRefIterator */
  136. void   InitStorageUnitRefIterator(Environment *ev,
  137.         ODStorageUnit* storageUnit)
  138. {
  139.    SOM_Resolve(this,ODStorageUnitRefIterator,InitStorageUnitRefIterator)
  140.     (this,ev,storageUnit);
  141. }
  142.  
  143.  
  144. /* public method: First */
  145. ODStorageUnitRef   First(Environment *ev)
  146. {
  147.    return SOM_Resolve(this,ODStorageUnitRefIterator,First)
  148.     (this,ev);
  149. }
  150.  
  151.  
  152. /* public method: Next */
  153. ODStorageUnitRef   Next(Environment *ev)
  154. {
  155.    return SOM_Resolve(this,ODStorageUnitRefIterator,Next)
  156.     (this,ev);
  157. }
  158.  
  159.  
  160. /* public method: IsNotComplete */
  161. ODBoolean   IsNotComplete(Environment *ev)
  162. {
  163.    return SOM_Resolve(this,ODStorageUnitRefIterator,IsNotComplete)
  164.     (this,ev);
  165. }
  166.  
  167.  
  168.  
  169. };   /* ODStorageUnitRefIterator */
  170.  
  171.  
  172.  
  173. #endif       /* SOM_ODStorageUnitRefIterator_xh */
  174.